<?php
namespace app\lmsx\admin;

use app\common\builder\ZBuilder;
use app\lmsx\model\Category as CategoryModel;
use think\Db;

/**
 * 家长邦文章分类
 * @author lan
 */
class Category extends Base
{
    public function index(){
        // 获取查询和排序规则
        $map = $this->getMap();
        $map['ident']='article';
        $order = $this->getOrder();
        $data = Db::table('dp_lmsx_category')
            ->where($map)
            ->order($order)
            ->order('id desc')
            ->paginate()->each(function($item){
                // 对分页数据可以做额外处理
                return $item;
            });
        return ZBuilder::make('table')
            ->setTableName('lmsx_category')  //需要修改 这里修改正确可以直接修改字段 删除
            ->addColumns([
                ['id','id'],
                ['name','分类名称'],
                ['cover','封面图片','picture'],
                ['sort','排序'],
               // ['status','是否显示','switch'],
                ['create_time','创建时间','datetime'],
                ['right_button', '操作', 'btn']
            ])
            ->addTopButton('add', [],[])
            ->addRightButton('edit',[],[])
            ->addTopButtons(['delete'])
            ->setRowList($data)
            ->addFilter(['name'])
            ->setSearch(['id' => 'ID', 'name' => '分类名称'])
            ->fetch();
    }
    public function add(){
        if($this->request->isPost()){
            // 第一步 获取数据 如果后台面向大众 需要用only方法
            $data = request()->post();
            // 第二部 验证数据
            $result = $this->validate($data,'Category');
            if($result!==true) $this->error($result);
            // 第三部 存储
            CategoryModel::create($data);
            $this->success('保存成功', null, '_parent_reload');
        }

        return ZBuilder::make('form')
            ->addFormItems([
                ['hidden', 'ident', 'article'],
                ['text', 'name', '分类名称','必须'],
                ['image','cover','封面图片',''],
                ['number', 'sort', '排序','请填写数字'],
               // ['radio', 'status', '是否显示', '', ['否', '是'], 1]
            ])
            ->fetch();
    }
    public function edit($id=null){
        if($this->request->isPost()){
            $data = request()->post();
            $result = $this->validate($data,'Category');
            if($result!==true) $this->error($result);
            //dump($data);die;
            CategoryModel::update($data);
            $this->success('保存成功', null, '_parent_reload');
        }

       // $data = CategoryModel::get($id);
        $data=Db::table('dp_lmsx_category')->where('id',$id)->find();
        return ZBuilder::make('form')
            ->addFormItems([
                ['hidden','id'],
                ['text', 'name', '分类名称','必须'],
                ['image','cover','封面图片',''],
                ['number', 'sort', '排序','请填写数字'],
                //['radio', 'status', '是否显示', '', ['否', '是']]
            ])
            ->setFormData($data)
            ->fetch();
    }


}